package com.hongyuan.venue.data.http;

import com.hongyuan.venue.data.userbean.MemberLoginBean;
import com.hongyuan.venue.data.userbean.TokenBean;
import com.hongyuan.venue.ui.home.beans.CouponBean;
import com.hongyuan.venue.ui.home.beans.MemberOsBean;
import com.hongyuan.venue.ui.home.beans.SecheduleBeans;
import com.hongyuan.venue.ui.home.beans.StoreInfoBean;
import com.hongyuan.venue.ui.home.beans.TopTimeBean;
import com.hongyuan.venue.ui.home.beans.TrainBeans;
import com.hongyuan.venue.ui.home.beans.TrainningDetailBeans;
import com.hongyuan.venue.ui.home.beans.Venue;
import com.hongyuan.venue.ui.home.beans.VenuePayBeans;
import com.hongyuan.venue.ui.main.beans.AlipayBean;
import com.hongyuan.venue.ui.main.beans.CheckVersionBeans;
import com.hongyuan.venue.ui.main.beans.NoDataBean;
import com.hongyuan.venue.ui.main.beans.PhoneMessageTokenBean;
import com.hongyuan.venue.ui.main.beans.ReturnImgsBean;
import com.hongyuan.venue.ui.main.beans.ReturnMoreImgBean;
import com.hongyuan.venue.ui.person.beans.CouponHubBean;
import com.hongyuan.venue.ui.person.beans.KeFuBean;
import com.hongyuan.venue.ui.person.beans.MyCouponBeans;
import com.hongyuan.venue.ui.person.beans.MyOrderDeatilBean;
import com.hongyuan.venue.ui.person.beans.MyOrdersBean;
import com.hongyuan.venue.ui.person.beans.PersonBean;
import com.hongyuan.venue.ui.person.beans.TrainningOrdersBean;
import com.hongyuan.venue.ui.site.beans.SiteBeans;
import com.hongyuan.venue.ui.wxapi.WecathPayBean;

import java.util.List;
import java.util.Map;
import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.PartMap;

public interface MyApiService {

    @Multipart
    @POST("/api/index/upfile_oss")
    Observable<MyBaseResponse<ReturnImgsBean>> upfile_oss(@PartMap() Map<String, RequestBody> params);

    @Multipart
    @POST("/api/index/upfile_oss_more")
    Observable<MyBaseResponse<ReturnMoreImgBean>> upfile_oss_more(@PartMap() Map<String, RequestBody> params);

    @FormUrlEncoded
    @POST("/api/index/api_token")
    Observable<MyBaseResponse<TokenBean>> api_token(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/index/memberlogin")
    Observable<MyBaseResponse<MemberLoginBean>> memberlogin(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/index/get_token")
    Observable<MyBaseResponse<PhoneMessageTokenBean>> get_token(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/index/send_regi_msg")
    Observable<MyBaseResponse<NoDataBean>> send_regi_msg(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/index/do_find_password")
    Observable<MyBaseResponse<NoDataBean>> do_find_password(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/index/memberlogin_dxm")
    Observable<MyBaseResponse<MemberLoginBean>> memberlogin_dxm(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/appsethome/check_app_version")
    Observable<MyBaseResponse<CheckVersionBeans>> check_app_version(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/membersoft/get_member_gym")
    Observable<MyBaseResponse<MemberOsBean>> get_member_os(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/offlinestorea/get_offline_store_info")
    Observable<MyBaseResponse<StoreInfoBean>> get_offline_store_info(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("api/gymhome/gym_detail")
    Observable<MyBaseResponse<Venue>> gym_detail(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/Couponmember/all_coupon_list_gc")
    Observable<MyBaseResponse<NoDataBean>> all_coupon_list_gc(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/gymmember/course_train_list")
    Observable<MyBaseResponse<TrainBeans>> course_train_list(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/membersoft/get_member_gym_area")
    Observable<MyBaseResponse<SiteBeans>> gym_list(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/member/get_member_index_info")
    Observable<MyBaseResponse<PersonBean>> get_member_index_info(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/appindex/get_online_kf")
    Observable<MyBaseResponse<KeFuBean>> get_online_kf(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/coachhome/get_plan_date")
    Observable<MyBaseResponse<List<TopTimeBean>>> get_plan_date(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/gymhome/gym_reserve_list")
    Observable<MyBaseResponse<SecheduleBeans>> gym_reserve_list(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/payandroid/getPrePayOrder")
    Observable<MyBaseResponse<WecathPayBean>> getPrePayOrder(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/alipay/unifiedorder")
    Observable<MyBaseResponse<AlipayBean>> unifiedorder(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("api/gymmember/gym_order_list")
    Observable<MyBaseResponse<MyOrdersBean>> gym_order_list(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/gymmember/gym_order_cannel")
    Observable<MyBaseResponse<NoDataBean>> cancle_order(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/goodsmember/get_order_info")
    Observable<MyBaseResponse<MyOrderDeatilBean>> get_order_info(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("api/gymmember/order_gym_mx")
    Observable<MyBaseResponse<VenuePayBeans>> order_gym_mx(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/couponmember/use_coupon_list")
    Observable<MyBaseResponse<CouponBean>> use_coupon_list(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/Couponmember/all_coupon_list_gc")
    Observable<MyBaseResponse<CouponHubBean>> os_coupon_list(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/couponmember/get_coupon")
    Observable<MyBaseResponse<NoDataBean>> get_coupon(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/couponmember/my_coupon_list")
    Observable<MyBaseResponse<MyCouponBeans>> my_coupon_list(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/member/update_member_head")
    Observable<MyBaseResponse<NoDataBean>> update_member_head(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/member/update_member_name")
    Observable<MyBaseResponse<NoDataBean>> update_member_name(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/member/update_member_sex")
    Observable<MyBaseResponse<NoDataBean>> update_member_sex(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/member/update_member_birth")
    Observable<MyBaseResponse<NoDataBean>> update_member_birth(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/member/update_m_info")
    Observable<MyBaseResponse<NoDataBean>> update_m_info(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/member/update_member_sign")
    Observable<MyBaseResponse<NoDataBean>> update_member_sign(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("api/gymmember/course_train_detail")
    Observable<MyBaseResponse<TrainningDetailBeans>> course_train_detail(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/gymmember/order_course_train")
    Observable<MyBaseResponse<VenuePayBeans>> order_course_train(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST("/api/gymmember/course_train_order_list")
    Observable<MyBaseResponse<TrainningOrdersBean>> course_train_order_list(@FieldMap Map<String, String> params);
}
